package org.point.controller;

import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletResponse;

import org.point.common.controller.BaseController;
import org.point.common.util.DoPage;
import org.point.domain.ProductType;
import org.point.domain.TransactionRecord;
import org.point.service.ProductTypeService;
import org.point.service.TransactionRecordService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import com.alibaba.fastjson.JSONObject;

/**
 * 
 * @ClassName: ProductTypeController
 * @Description: TODO(这里用一句话描述这个类的作用)
 * @author ljp
 * @date 2016年11月1日 下午17:18:44
 *
 */
@Controller
@RequestMapping("/transactionRecord/")
public class TransactionRecordController extends BaseController {

	@Autowired
	private TransactionRecordService tService;

	/**
	 * 
	 * @Title: transactionrecordList @Description: TODO(交易记录列表) @param @param
	 * memverId 会员单位ID @return void 返回类型 @throws
	 */
	@RequestMapping(value = "transactionList.do", method = RequestMethod.POST, produces = "text/plain;charset=UTF-8")
	public void transactionrecordList(@RequestParam(value = "memberId") String memberId,
			@RequestParam(value = "currentPage") Integer currentPage,
			@RequestParam(value = "keyWord", required = false) String keyWord,
			@RequestParam(value = "status", required = false) String status,
			@RequestParam(value = "starttime", required = false) String  starttime,
			@RequestParam(value = "endtime", required = false) String endtime,
			HttpServletResponse response) {

		JSONObject jsonObj = new JSONObject();
		DoPage<TransactionRecord> page = new DoPage<TransactionRecord>();
		Map<String, Object> map = new HashMap<String, Object>();

		try {
			if (memberId.trim().length() > 0 && memberId != null) {
				map.put("dealer", "abc");// 默认交易对象
				page.setCurrentPage(10);
				if (currentPage != null) {
					page.setCurrentPage(currentPage);
				}
				map.put("firstRecord", page.getFirstRecord());
				map.put("lastRecord", page.getLastRecord());
				page.setMap(map);
				
				if (strOperateUtil.isNullForString(keyWord)) {
					map.put("keyWord", "%" + keyWord + "%");
				}
				if(starttime!=null&& endtime!=null){
					map.put("starttime", starttime);
					map.put("endtime", endtime);
					
				}
				if (strOperateUtil.isNullForString(status)) {
					map.put("status", status);
				}

				DoPage<TransactionRecord> records = tService.searchTrandRecordPage(page);
				jsonObj.put("page", records);
				jsonObj.put("resultMsg", 1);

			} else {
				// 参数传递错误，会员单位ID为空！
				jsonObj.put("resultMsg", -1);
			}
		} catch (Exception e) {
			e.printStackTrace();
			// 网络错误，请联系管理员！
			jsonObj.put("resultMsg", 0);
			throw new RuntimeException("商品查询出错!", e);
		} finally {
			try {
				feedback(response, jsonObj.toString());
			} catch (IOException e) {
				throw new RuntimeException("网络错误，请联系管理员！", e);
			}
		}

	}

	// /**
	// *
	// * @Title: insertProduct
	// * @Description: TODO(新增商品分类)
	// * @param @param record 设定文件
	// * @return void 返回类型
	// * @throws
	// */
	// @RequestMapping(value = "/insertPT.do", method = RequestMethod.POST,
	// produces = "text/plain;charset=UTF-8")
	// public void insertProduct(@ModelAttribute("ProductType") ProductType
	// record) {
	//
	// JSONObject jsonObj = new JSONObject();
	// Integer result = 0;
	//
	// try {
	// if (record != null) {
	// result = tService.insertPro(record);
	// // 商品分类新增成功！
	// jsonObj.put("resultMsg", result);
	// } else {
	// // 商品分类参数为null,请检查参数！
	// jsonObj.put("resultMsg", -1);
	// }
	// } catch (Exception e) {
	// // 网络错误，请联系管理员！
	// jsonObj.put("resultMsg", result);
	// throw new RuntimeException("商品分类新增错误！");
	// } finally {
	// try {
	// feedback(response, jsonObj.toString());
	// } catch (Exception e) {
	// throw new RuntimeException("网络错误，请联系管理员！", e);
	// }
	// }
	//
	// }

	// /**
	// *
	// * @Title: editProForStatus
	// * @Description: TODO(修改商品分类状态)
	// * @param @param memberId
	// * @param @param status 设定文件
	// * @return void 返回类型
	// * @throws
	// */
	// @RequestMapping(value = "/editPTStatus.do", method = RequestMethod.POST,
	// produces = "text/plain;charset=UTF-8")
	// public void editProForStatus(@RequestParam(value = "productTypeId")
	// String productTypeId, @RequestParam(value = "memberId") String memberId,
	// @RequestParam(value = "status") Integer status) {
	//
	// JSONObject jsonObj = new JSONObject();
	// Map<String, Object> map = new HashMap<String, Object>();
	// Integer result = 0;
	//
	// try {
	// if(productTypeId != null){
	// map.put("productTypeId", productTypeId);
	// if (memberId != null) {
	// map.put("memberId", memberId);
	// if (status != null) {
	// map.put("status", status);
	// result = service.editProForStatus(map);
	// // 商品分类修改状态成功
	// jsonObj.put("resultMsg", result);
	// } else {
	// // 商品分类状态为null
	// jsonObj.put("resultMsg", -3);
	// }
	// } else {
	// // 会员单位ID为null
	// jsonObj.put("resultMsg", -2);
	// }
	// } else {
	// // 商品分类ID为null
	// jsonObj.put("resultMsg", -1);
	// }
	//
	// } catch (Exception e) {
	// jsonObj.put("resultMsg", result);
	// throw new RuntimeException("商品分类修改状态错误！", e);
	// } finally {
	// try {
	// feedback(response, jsonObj.toString());
	// } catch (IOException e) {
	// throw new RuntimeException("网络错误，请联系管理员！", e);
	// }
	// }
	// }
}
